Cloud computing is a computing paradigm in which a customer pays a cloud provider to execute a program on computer hardware owned or controlled by the cloud provider. A cloud provider typically provides an interface that a user can use to configure resources such as processors, storage, and network services, etc., as well as an interface a user can use to install and execute the user's program on the platform that the user configuration and additional software on which the user's program needs.
Software and/or hardware facilities for facilitating the execution of applications in the cloud have been introduced and are referred to as platform-as-a-service (PaaS) offerings. PaaS offerings typically facilitate deployment of applications without the cost and complexity of buying and maintaining the underlying hardware and software and provisioning hosting capabilities, providing the infrastructure required to support the life cycle of the applications and services available from the Internet.
The PaaS platform may be hosted by multiple hosts, referred to as PaaS nodes, which may reside one or more cloud-based systems provided by one or more cloud providers. The cost to employ the cloud-based and/or PaaS services may be different from one cloud/PaaS provider to another. Some of the data can be backed up, replicated, or migrated from one cloud to another cloud. However, such data movement involves significant network bandwidth and processing resources. It is difficult to estimate the real cost of moving data between clouds.